package com.yunji.base.convert;

import com.yunji.base.cache.BaseCache;
import com.yunji.base.dao.ISiteScaleDao;
import com.yunji.base.domain.SiteAuditDO;
import com.yunji.base.domain.SiteScaleDO;
import com.yunji.base.vo.SiteAuditVO;
import com.yunji.common.utils.bean.BeanUtils;

import java.util.ArrayList;
import java.util.List;

public class SiteAuditConvert {

    public static List<SiteAuditVO> domainTOVOList(List<SiteAuditDO> list, ISiteScaleDao siteScaleDao){
        List<SiteAuditVO> voList = new ArrayList<>();
        for (SiteAuditDO siteAudit : list) {
            SiteAuditVO vo = domainTOVO(siteAudit,siteScaleDao);
            voList.add(vo);
        }
        return voList;
    }

    public static SiteAuditVO domainTOVO(SiteAuditDO siteAudit,ISiteScaleDao siteScaleDao){
        SiteAuditVO vo = new SiteAuditVO();
        BeanUtils.clone(siteAudit,vo);
        vo.setAgentName(BaseCache.getAgentName(vo.getAgentId()));
        vo.setBelongName(BaseCache.getBelongName(vo.getBelongId()));
        List<SiteScaleDO> scaleList = siteScaleDao.getByAuditId(siteAudit.getAuditId());
        vo.setSiteScaleList(SiteScaleConvert.domainTOVOList(scaleList));
        return vo;
    }

}
